material-tableで画面幅に応じてヘッダーが改行されないようにする
こんにちは、CX事業本部の若槻です。
material-tableでは、PCから閲覧時には問題ありませんが、スマートフォンなどからの閲覧時に画面幅が狭くなると、画面幅に応じてヘッダーが改行されて列名が縦長に表示されてしまいます。
-
PC閲覧時
-
スマートフォンからの閲覧時
今回は、画面幅に応じてヘッダーが改行されないようにしてみました。
有効だった方法
結論としては、次のようにMaterialTable
コンポーネントのoptions
でheaderStyle: { whiteSpace: 'nowrap' }
の定義を追加することにより、ヘッダーを改行させないようにすることができました。
<MaterialTable
options={{
showTitle: false,
filtering: true,
headerStyle: { whiteSpace: 'nowrap' },
}}
/>
有効ではなかった方法
有効だった方法に行き着くまでに色々と試しましたが、次の方法では改行が行われてしまい有効ではありませんでした。
options
同じくMaterialTable
コンポーネントのoptions
に次の定義を追加した場合。
fixedColumns: {
right: 100,
},
overflowY: 'auto',
style: {
width: '100pt',
},
style: {
width: '100%',
},
columns
MaterialTable
コンポーネントのcolumns
の各列の要素に次の定義を追加した場合。
columns={[
{
title: '商品名',
field: 'itemName',
defaultSort: 'asc',
filtering: false,
width: '100%',
},
width: '100px',
style: { whiteSpace: 'nowrap', },
overflow: 'auto',
headerStyle: { width: '100%' },
headerStyle: { width: '100pt' },
style: { width: '100pt', },
style: { width: '100%', },
おわりに
material-tableで画面幅に応じてヘッダーが改行されないようにしてみました。
MaterialUIやmaterial-tableで作成したページをどのようにスマートフォンに適応させるかは今後の課題になってきそうです。
参考
以上